コードプロジェクトのビルドを QA・GUI に認識させる
2つ目は、CとC++だけに限られますが、コードプロジェクトのビルドをPerforce QAC GUIに認識させる方法です。 ユーザがビルドをトリガしPerforce QAC GUIがプロセスをモニタしてコンパイルされているファイル、使用されているパス、その他さまざまな情報を抽出します。 ビルドモニタリングによる同期を参照してください。
ビルドをトリガすると、最初に全てのファイルのPerforce QACプロジェクトが消去され、ビルドに使用されているファイルのみが追加されます。 コードプロジェクトのビルドが最新で、コンパイルが行われない場合は、Perforce QACプロジェクトは空になります。 このため、ユーザは最初にコードプロジェクトを消去する必要があります。
この準備に関するさまざまな設定は、プロジェクトプロパティの[同期設定]タブで行います。
以下の設定の多くは、ユーザがCCTを選択した際にすでに完了しています。
- インクルードパス設定用オプション:コンパイラがインクルードパスを設定する際に認識するオプション
- マクロ定義用オプション:コンパイラが値を定義する際に認識するオプション
- オプションスクリプト:コンパイラコマンドラインからIncludes/Defines を抽出するスクリプトへのパス
- コンパイラ設定のファイルオプション:オプションをファイルに保存するコンパイラに対して、ユーザがそのファイルを特定できるようにするオプション。1
- リテラル引用符:Perforce QACが引用符をどのように解析するかの決定を補佐するオプション。 チェックを入れた場合、エスケープされていない引用符はスペースのあるオプションを囲むために使われます。 例えばオプションにチェックを入れた場合、
/DMAX(A,B)="A < B"
は、A
がB
より小さいかどうかを確認するマクロの生成します。 オプションにチェックがない場合、全ての引用符がリテラルとして扱われ、以下の文字列が出力されます。"A < B"
- 除外するプロセス - カンマで区切られた値: このオプションは、無視されるべきプロセス名をカンマで区切られたリストで提供します。 例えば、ビルドスクリプトが、mvコマンドでファイルの場所を移動し、rmコマンドでディスクからファイルを削除する場合、mvとrmをここに記述することでこれらのプロセスを省くことができます。
- 除外するプロセス - 正規表現: このオプションは、無視されるべきプロセス名の正規表現を提供します。2 上記の例のように、ビルドスクリプトがmvコマンドでファイルの場所を移動し、rmコマンドでディスクからファイルを削除する場合、
\b(rm|mv)\b
と記述することでこれらのプロセスを省くことができます。 - ファイルフィルタ: このオプションは、Perforce QACプロジェクトに追加してはならないファイル/フォルダをカンマで区切られたリストで提供します。
「同期」処理中にファイルをフィルタリングしたくない場合は、条件に合わないダミーの値を指定する必要があります。例えば、"<unused>" はCCTの値をオーバーライドしますがこの条件に合うファイルを検知することはできません。
その他の設定については、コンパイラ設定のファイルオプションを参照してください。
上記の設定は、プロジェクトの一部として存続します。 設定の完了後、[プロジェクト] >[同期]を選択することによって作業をトリガすることができます。 トリガすると、QA·GUIを使用した同期での処理と同じ処理がされます。